筆者覺得遊戲架構會是開發前期最花時間的部份,通常度過這過程,剩下來就是相對輕鬆的測試、平衡…等工作。
本次將以爐石戰記為例,討論一下遊戲架構。
寫一個卡牌遊戲需要什麼東西?
- 卡表,數值設定 by json。(等架構完成之後再加)
- 實作回合機制 by 狀態機+事件模式
- 卡牌層、物件層、規則層 by 介面封裝
- 連線對戰 by 狀態機+事件模式
場面上的物件:
- 英雄
- 英雄能力
- 手牌
- 魔力水晶
- 牌組
- 生物
- 武器
- 戰鬥紀錄
- 法術
- 祕密
實作部份,手牌召喚生物/武器/祕密會創造半永久的指示物在台面上,而法術不會留在場上。
另外,魔力水晶、戰鬥紀錄是不可控物件。
行動:
- 出牌
- 返回
- 抽牌
- 捨棄
跟手牌操作有關的動作
攻擊:
- 生物攻擊/英雄攻擊
- 法術
- 英雄能力
- 卡片效果
不同的攻擊方式採用不同實作
卡片能力:
- 戰吼
- 二選一
- 連擊
- 超載
- 死亡之聲
- 嘲諷
- 聖盾
- 潛行
- 風怒
- 法術傷害
- 強化
- 靈氣
- 凍結
- 致命劇毒
- 免疫
- 無法攻擊
- 衝鋒
- 祕密
- 沉默
- 治療
- 召喚
- 變形
- 控制
- 回收
- 複製
- 摧毀
- 對調
- 發現
- 長槍競技
- 激勵
- 任務
- 演化
- 生命竊取
- 號召
- 回音
- 衝刺
- 合體
- 滅殺
- 常駐能力(條件觸發型)
以上部份實作在規則層,控管物件層、卡牌層的行為表現
今天稍微了解,明天開始逐一實作
參考來源:爐石戰記透視鏡
-
遊戲規則
-
卡片能力